/* --------------------------------------------------- ABM EVALUACIONES ----------------------------------------------------------------*/
$(document).ready(function(){
	var oTable1 = $('#sample-table-2').dataTable({
		//Permite o no guardar el numero de pagina que estaba seleccionada mediante una cookie y al recargar no se pierde la seleccion
		"bStateSave":true,
		//Permite poner los elementos del combo para cambiar la cantidad de filas a visualizar
		"aLengthMenu": [[30, 10, 25, -1], [30, 10, 25, "Todos"]],
		//Cantidad de filas de la tabla por pagina
		"iDisplayLength":30,
		//Ordena las filas por el valor de la columna n de forma ascendente o descendente. La columna inicial es la 0
		"aaSorting": [[ 1, "desc" ]],
		//Para que los mensajes se muestren en español
		"oLanguage": {
			"sProcessing":   "Procesando...",
			"sLengthMenu":   "Mostrar _MENU_ registros",
			"sZeroRecords":  "No se encontraron resultados",
			"sInfo":         "Mostrando desde _START_ hasta _END_ de _TOTAL_ registros",
			"sInfoEmpty":    "Mostrando desde 0 hasta 0 de 0 registros",
			"sInfoFiltered": "(filtrado de _MAX_ registros en total)",
			"sInfoPostFix":  "",
			"sSearch":       "Buscar:",
			"sUrl":          "",
			"oPaginate": {
				"sFirst":    "Primero",
				"sPrevious": "Anterior",
				"sNext":     "Siguiente",
				"sLast":     "&Uacute;ltimo"
			}
		},
		
		"aoColumns": [
		  { "bSortable": false }, { "bSortable": true },{ "bSortable": true }, { "bSortable": true }, { "bSortable": true }, { "bSortable": true }, { "bSortable": true },  { "bSortable": true }, { "bSortable": true }
		]
	});
});

/*Este metodo se llama cuando en el metodo consultar registros se cambia la seleccion en el filtro*/
function filtrarEvaluaciones(tipo, url){
	var cicloLectivo = document.getElementById("cicloLectivo");
	var asignatura = document.getElementById("asignatura");
	
	if(tipo == 1){
		asignatura.value = 0;
	}
	
	window.location = url + "/" + cicloLectivo.value + "/" + asignatura.value + ".html";
}

/*Este metodo se llama cuando en el metodo consultar evaluaciones se aprieta el boton eliminar de cada registro*/
function eliminarEvaluacion(url, nombre){
	var resp = confirm("Realmente desea eliminar la evaluaci\u00f3n: '"+nombre+"'?");
	if(resp == true){
		$("#cuerpo").load(url, function(){});
	}
}

//Este metodo se llama para filtrar las asignaciones (asignaturas dictadas por un profesor) en la pantalla crear o modificar evaluacion
function filtrarAsignaciones(url){
	var cicloLectivo = document.getElementById("cicloLectivo");
		
	$("#asignatura").load(url + "/" + cicloLectivo.value);
}

//Este metodo se llama cuando se tiene que limpiar el formulario
function limpiarCampos(){
	var cicloLectivo = document.getElementById("cicloLectivo");
	var asignatura = document.getElementById("asignatura");
	var fechaEvaluacion = document.getElementById("fechaEvaluacion");
	var fechaResultado = document.getElementById("fechaResultado");
	var nombre = document.getElementById("nombre");
	var notaMinima = document.getElementById("notaMinima");
	var recuperatorio = document.getElementById("recuperatorio");
	var descripcion = document.getElementById("descripcion");
	var tipoEvaluacion = document.getElementById("tipoEvaluacion");
	var archivo = document.getElementById("archivo");
	var estado = document.getElementById("estado");
	
	//Inicializamos todos campos a vacios.		
	//cicloLectivo.value = "0";
	//asignatura.value = "0";
	fechaEvaluacion.value = "";
	fechaResultado.value = "";
	nombre.value = "";
	notaMinima.value = "";
	recuperatorio.value = "0";
	descripcion.value = "";
	tipoEvaluacion.value = "0";
	archivo.value = "";
	estado.value = "1";
	
	//Si habia algun campo marcado como incompleto lo ponemos a la normalidad		
	$("#campoAsignatura").removeClass("has-error");
	$("#campoFechaEvaluacion").removeClass("has-error");
	$("#campoNombre").removeClass("has-error");
	
	//Le damos el foco al primer campo a completar
	$("#cicloLectivo").focus();
}

//Este metodo se llama cuando se tiene que crear una evaluacion nueva
function crearEvaluacion(){
	//Datos del Formulario
	var cicloLectivo = document.getElementById("cicloLectivo");
	var asignatura = document.getElementById("asignatura");
	var fechaEvaluacion = document.getElementById("fechaEvaluacion");
	var fechaResultado = document.getElementById("fechaResultado");
	var nombre = document.getElementById("nombre");
	var notaMinima = document.getElementById("notaMinima");
	var recuperatorio = document.getElementById("recuperatorio");
	var descripcion = document.getElementById("descripcion");
	var tipoEvaluacion = document.getElementById("tipoEvaluacion");
	var archivo = document.getElementById("archivo");
	var estado = document.getElementById("estado");
	
	if(asignatura.value!="0" && fechaEvaluacion.value!="" && nombre.value!=""){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formEvaluacion");
		formulario.submit();
		
		//Inicializamos todos campos a vacios.
		fechaEvaluacion.value = "";
		fechaResultado.value = "";
		nombre.value = "";
		notaMinima.value = "";
		recuperatorio.value = "0";
		descripcion.value = "";
		tipoEvaluacion.value = "0";
		archivo.value = "";
		estado.value = "1";
		
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad		
		$("#campoAsignatura").removeClass("has-error");
		$("#campoFechaPublicacion").removeClass("has-error");
		$("#campoNombre").removeClass("has-error");
		
		//Le damos el foco al primer campo a completar
		$("#cicloLectivo").focus();
	}else{
		alert("Por favor, ingrese todos los datos de la evaluaci\u00f3n que desea crear.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.
		if(asignatura.value == "0") $("#campoAsignatura").addClass("has-error"); else $("#campoAsignatura").removeClass("has-error");
		if(fechaEvaluacion.value == "") $("#campoFechaEvaluacion").addClass("has-error"); else $("#campoFechaEvaluacion").removeClass("has-error");
		if(nombre.value == "") $("#campoNombre").addClass("has-error"); else $("#campoNombre").removeClass("has-error");
	}
}

//Este metodo se llama cuando se tiene que modificar una evaluacion
function modificarEvaluacion(){
	//Datos del Formulario
	var cicloLectivo = document.getElementById("cicloLectivo");
	var asignatura = document.getElementById("asignatura");
	var fechaEvaluacion = document.getElementById("fechaEvaluacion");
	var fechaResultado = document.getElementById("fechaResultado");
	var nombre = document.getElementById("nombre");
	var notaMinima = document.getElementById("notaMinima");
	var recuperatorio = document.getElementById("recuperatorio");
	var descripcion = document.getElementById("descripcion");
	var tipoEvaluacion = document.getElementById("tipoEvaluacion");
	var archivo = document.getElementById("archivo");
	var estado = document.getElementById("estado");
	
	if(asignatura.value!="0" && fechaEvaluacion.value!="" && nombre.value!=""){
		//Enviamos el formulario al servidor para que se procese la transaccion
		var formulario = document.getElementById("formEvaluacion");
		formulario.submit();
		
		//Hacemos aparecer el enlace al archivo recien cargado
		if(archivo.value != "") document.getElementById("archivoForm").innerHTML = "Descargar";
		
		//Inicializamos el campo archivo a vacio.		
		archivo.value = "";
		
		//Si habia algun campo marcado como incompleto lo ponemos a la normalidad		
		$("#campoAsignatura").removeClass("has-error");
		$("#campoFechaPublicacion").removeClass("has-error");
		$("#campoNombre").removeClass("has-error");
		
		//Le damos el foco al primer campo a completar
		$("#cicloLectivo").focus();
	}else{
		alert("Por favor, ingrese todos los datos de la evaluaci\u00f3n que desea modificar.");
		
		//Marcamos todos los campos imcompletos para que sea mas facil de visualizar.
		if(asignatura.value == "0") $("#campoAsignatura").addClass("has-error"); else $("#campoAsignatura").removeClass("has-error");
		if(fechaEvaluacion.value == "") $("#campoFechaEvaluacion").addClass("has-error"); else $("#campoFechaEvaluacion").removeClass("has-error");
		if(nombre.value == "") $("#campoNombre").addClass("has-error"); else $("#campoNombre").removeClass("has-error");
	}
}
